package com.oop.demo07;

//方法重写
public class Application {
    public static void main(String[] args) {
        //静态方法和非静态方法区别很大

        //重写只和非静态方法有关

        //静态方法： 方法的调用只和左边，定义的数据类型有关
        //非静态：重写
        A a = new A();
        a.test();

        //父类的引用指向了子类
        B b = new A(); // 子类重写了父类的方法
        b.test();

    }
}

/*
重写：需要有继承关系，子类重写父类的方法！
1.方法名必须相同
2.参参数列表必须相同
3.修饰符：范围可以扩大但不能缩小 public>protected>default>private
4.抛出的异常：范围，可以被缩小，但不能扩大：ClassNotFoundException-->Exception(大)

重写：子类的方法和父类的必须一致：方法体不同

为什么要重写：
1.父类的功能 子类不一定需要，或者是不一定满足！
Alt + Insert：override
 */